const path = require('path');
const db = require('../db/index');

// 发布新文章的处理函数
exports.addArticle = (req, res) => {
  // 手动判断是否上传了文章封面
  if (!req.file || req.file.fieldname !== 'cover_img') return res.cc('文章封面是必选参数!');

  // 证明数据都是合法的后，处理文章信息对象
  const articleInfo = {
    // 标题，内容，发布内容，所属分类的id
    ...req.body,
    // 文章封面的存放路径
    cover_img: path.join('/uploads', req.file.filename),
    // 文章发布时间
    pub_date: new Date(),
    // 文章作者id
    author_id: req.user.id,
  };

  const sql = `insert into ev_articles set ?`;
  db.query(sql, articleInfo, (err, results) => {
    if (err) return res.cc(err);
    if (results.affectedRows !== 1) return res.cc('发布文章失败！');
    res.cc('发布文章成功！', 0);
  });
};
